The present invention relates generally to computer networks and, specifically, to a method and apparatus for implementing a xe2x80x9cdiaryxe2x80x9d of Web pages or the like on a computer network.
In recent times, the internet has gained universal acceptance. A global network connecting millions of computers, the Internet is the current xe2x80x9cultimatexe2x80x9d in information and communication technology. Still, it has quite a few drawbacks. Some drawbacks, such as its speed (or lack thereof) are readily apparent to the casual user. Other problems are not as obvious.
A first problem is the facelessness of the Internet. In real life, we (consciously or unconsciously) xe2x80x9cjudge a book by its cover,xe2x80x9d i.e., we form an opinion about other people based on how they present themselves, through their style of clothing, the car they drive, their hobbies and interests, and the people they admire or detest. Non-technical users of the Internet find it difficult to present themselves, other than what they say in newsgroups, etc. Technically-minded users have some ability to present themselves through their Websites. However, setting up and maintaining a Website requires more knowledge and effort than many users possess. To design a good personal Website a user needs to know about such areas as computer science, human-computer interface design, graphic design, fine art, and writing. It is obvious from many examples available on the Web today that not all users have all of these skills in equal proportions. As such, the Internet is essentially a faceless medium.
A second problem with the Internet is its volatility. While browsing the World Wide Web, users encounter huge amounts of information. In the real world, when we visit a place, we take home a tangible memory of the place, such as photographs or souvenirs. Web users do not have this option. Current mechanisms for saving references to Web pages (e.g., bookmarks and favorite lists) have the large drawback of being text-oriented and, therefore, provide no visual (or other) clue as to why the user originally thought the information was interesting enough to bookmark. The only memories a Web user has of the sites he has visited are some rather inexpressive bookmarks that say something like xe2x80x9cWelcome to the homepage of SomeCompanyxe2x80x9d or xe2x80x9chttp://www.somecompany.com/xe2x80x9d. Such bookmarks give no sensory clue as to why the user bookmarked the page in the first place. Thus, a user""s travels on the Web are rather volatile, since he has nothing tangible by which to remember where he has gone. What is needed is a way for users to keep track of locations that they have visited in a more visual and memorable way.
The present invention allows a user to create a xe2x80x9cdiaryxe2x80x9d containing multimedia references to web sites that the user has visited. These references (also called xe2x80x9ccontent objectsxe2x80x9d or xe2x80x9cobjectsxe2x80x9d) can be addresses or URLs of, for example, text, bookmarks, images, programs, movies, etc. Many content objects are provided via the Web sites of xe2x80x9ccontent providers,xe2x80x9d with the specific intent of making the content objects available to a user to place in his diary. Other content objects can be copied from the diaries of other users. Still other content objects are entered by the diary owner himself.
The term xe2x80x9cdiaryxe2x80x9d arises because the invention preferably allows the diary owner to save these references in association with dates and/or times. Thus, at least part of the user""s diary will likely organize information about web pages (and other types of information specified by the diary owner) by dates. Other parts of a diary organize data according to type of data, having a diary page for such types of information as xe2x80x9crecipes,xe2x80x9d telephone numbers, favorite Websites, etc. The pages of a user""s diary may be navigated like a book, moving forward and backward through the pages or jumping to a particular page. In addition to storing references to Web information, the diary owner can also jot down reminders, enter appointments, and birthdays, etc. for dates.
A diary owner is allowed to choose a visual xe2x80x9cthemexe2x80x9d for the pages of his diary. This theme can be changed at any time by the diary owner and reflects how the diary owner wants to present himself and his diary to the world. A theme is reflected in a xe2x80x9ccoverxe2x80x9d of a user""s diary and in the design and general layout of the pages in the user""s diary. These themes and covers are generally designed by professional graphics artists and provide an opportunity for revenue via the placement on the cover of ads or graphics associated with a particular company or product. In fact, the ultimate xe2x80x9cadsxe2x80x9d cover may be created when a single company creates a cover as an ad for itself. The company pays a licensing fee for the ability to provide a cover and for the right to be mentioned in a list of possible covers.
The diary owner can set various levels of privacy for different portions of his diary. Thus, only certain portions of the diary (for example, a daily entry or a reminder list) can be viewed only be the diary owner, while other portions of the diary can be viewed by anyone with a Web browser. Thus, a diary owner may organize all or part of his diary to present an image of himself to the world.
The present invention allows xe2x80x9ccontent providersxe2x80x9d to place content (xe2x80x9csouvenirsxe2x80x9d) on their Web page. Diary owners can then download a reference to the content into their personal diaries. When a user views the Web page of a content provider, he can choose to add one or more pieces of content offered on the Web page to his diary. A downloadable content object on a content provider web site has an associated executable program, such as a JavaScript, to aid in placing a reference to the content into the diary as discussed below in connection with FIGS. 5(a) and 5(b).
The diary owner can edit existing diary content and layout by entering an edit mode, which allows the owner to move and copy pieces of the content of a diary page, either within the page or to another page. A Diary applet regenerates the page to reflect the editing changes and passes it to the browser for display.
The Java execution environment implements certain security restrictions for Java applets. All Java parts of the diary embodiment are implemented as applets, so these security restrictions apply. Specifically, a Java applet that was loaded from a server machine, onto a user machine to communicate with a different machine, such as content provider machine, can be problematic. Similarly, most Java execution environments do not allow Java applets to read, write, create, delete, or otherwise modify or examine the local file system. The first limitation raises problems when a diary owner wants to use content provided by a third party. Use of such content is described in detail in copending U.S. patent application Ser. No. 09/144,717, now U.S. Pat No. 6,289,362 entitled xe2x80x9cSystem and Method for Generating, Transferring and Using an Annotated Universal Addressxe2x80x9d by van der Meer.
The described embodiments of the present invention provide an implementation of the transfer function to save data from a third party provider between the diary applet (in the owner system) and the diary server (which stores diary data) that overcomes this restriction. While the three machines are typically separate, this method works even when one or more of the machines are the same. This transfer mechanism is not limited to diary applications and is usable in various other circumstances, such as whenever an executable program loaded from a first machine to a second machine needs to communicate with a third machine.
In accordance with the purpose of the invention, as embodied and broadly described herein, the invention relates to a method of editing content displayed on a diary page described by a web descriptor language, comprising: receiving an indication from the user to enter an edit mode for the diary page; generating in response to the indication, by a executable diary program running within a browser, a second executable as a part of the descriptor language of the page, where the second executable informs the executable diary program whenever the user selects content to edit; displaying a user edit interface, by the executable diary program after being informed by the second executable that the user has selected content to edit; and regenerating descriptor language, by the executable diary program, running within the browser, for the diary page in accordance with edits made via the user interface.
In further accordance with the purpose of the invention, as embodied and broadly described herein, the invention relates to an apparatus that allows a user to edit content displayed on a diary page described by a web descriptor language, comprising: a portion configured to receive an indication from a user to enter an edit mode for the diary page; a portion configured to generate in response to the indication, by a executable diary program running within a browser, a second executable as a part of the descriptor language of the page, where the second executable informs the executable diary program whenever the user selects content to edit; a portion configured to displaying a user edit interface, by the executable diary program after being informed by the second executable that the user has selected content to edit; and a portion configured to regenerate descriptor language, by the executable diary program, running within the browser, for the diary page in accordance with edits made via the user interface.
Advantages of the invention will be set forth in part in the description which follows and in part will be obvious from the description or may be learned by practice of the invention. The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims and equivalents.